package com.ph.shopping.facade.customfactory;

import java.util.Map;

public class CustomBeanRule {
	/**
	 * 对应的字段映射 key 为目标字段 value为原生字段
	 */
	private Map<String, String> filedMapping;
	/**
	 * 原生对象
	 */
	private Object nativeProject;
	/**
	 * 指定目标对象指定字段的值
	 */
	private Map<String, Object> targetProjectValue;
	/**
	 * 不需要赋值的字段
	 */
	private String[] noAssignmentFields;
	
	public CustomBeanRule() {
		super();
	}
	public CustomBeanRule(Map<String, String> filedMapping, Object nativeProject,
			Map<String, Object> targetProjectValue) {
		super();
		this.filedMapping = filedMapping;
		this.nativeProject = nativeProject;
		this.targetProjectValue = targetProjectValue;
	}
	public CustomBeanRule(Map<String, String> filedMapping, Object nativeProject) {
		super();
		this.filedMapping = filedMapping;
		this.nativeProject = nativeProject;
	}
	public Map<String, String> getFiledMapping() {
		return filedMapping;
	}
	public void setFiledMapping(Map<String, String> filedMapping) {
		this.filedMapping = filedMapping;
	}
	public Object getNativeProject() {
		return nativeProject;
	}
	public void setNativeProject(Object nativeProject) {
		this.nativeProject = nativeProject;
	}
	public Map<String, Object> getTargetProjectValue() {
		return targetProjectValue;
	}
	public void setTargetProjectValue(Map<String, Object> targetProjectValue) {
		this.targetProjectValue = targetProjectValue;
	}
	public String[] getNoAssignmentFields() {
		return noAssignmentFields;
	}
	public void setNoAssignmentFields(String[] noAssignmentFields) {
		this.noAssignmentFields = noAssignmentFields;
	}
	public CustomBeanRule(Map<String, String> filedMapping, Object nativeProject,
			Map<String, Object> targetProjectValue, String[] noAssignmentFields) {
		super();
		this.filedMapping = filedMapping;
		this.nativeProject = nativeProject;
		this.targetProjectValue = targetProjectValue;
		this.noAssignmentFields = noAssignmentFields;
	}
	public CustomBeanRule(Map<String, String> filedMapping, Object nativeProject, String[] noAssignmentFields) {
		super();
		this.filedMapping = filedMapping;
		this.nativeProject = nativeProject;
		this.noAssignmentFields = noAssignmentFields;
	}
	
}
